在前面的單元中我們學過了傳統的固定長度陣列(Array)。但在實際開發程式時,若需要改變陣列的長度就被限制住了,因此今天要學的動態陣列就可以解決這個問題。
import java.util.ArrayList; // 匯入 ArrayList 套件
// 宣告一個用來放字串的 ArrayList
ArrayList<String> names = new ArrayList<String>();
// 宣告一個用來放整數的 ArrayList(注意:基本型態 int 要寫成包裝類別 Integer)
ArrayList<Integer> scores = new ArrayList<Integer>();
(2.)常用的核心方法
*add(資料):在清單尾端新增一筆資料。
*get(索引值):取得指定編號(Index,從 0 開始)的資料。
*set(索引值, 新資料):修改指定編號的資料內容。
*remove(索引值):刪除指定編號的資料。
*size():取得目前串列中有幾筆資料(類似傳統陣列的 .length)。
(3.)範例:
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
// 1. 建立一個存放字串的 ArrayList
ArrayList<String> bullets = new ArrayList<String>();
// 2. 新增資料 (add)
bullets.add("普通子彈 A");
bullets.add("雷射子彈 B");
bullets.add("超級子彈 C");
// 3. 取得大小與讀取資料 (size 與 get)
System.out.println("目前子彈數量:" + bullets.size()); // 印出 3
System.out.println("第一發子彈是:" + bullets.get(0)); // 印出 普通子彈 A
// 4. 修改資料 (set)
bullets.set(1, "強力雷射 B+");
System.out.println("修改後的第二發:" + bullets.get(1));
// 5. 刪除資料 (remove)
bullets.remove(0); // 把第一發刪除,後面的會自動遞補往前
System.out.println("刪除後的第一發變成了:" + bullets.get(0)); // 印出 強力雷射 B+
}
}